#pragma once
#include "redis.hpp"
#include <sw/redis++/redis++.h>

//redis管理会话ID，因为每个聊天都是一个会话ID，会经常使用
class Session
{
    public:
    using ptr = std::shared_ptr<Session>;
    Session(const std::shared_ptr<sw::redis::Redis>& redis_client) :_redis_client(redis_client)
    {}

    void append_session_id(const std::string& ssid,const std::string& uid) {
        _redis_client->set(ssid,uid);
    }

    void remove_session_id(const std::string& ssid) 
    {
        _redis_client->del(ssid);
    }

    sw::redis::OptionalString uid(const std::string& ssid) {
        return _redis_client->get(ssid);
    }

    private:
    std::shared_ptr<sw::redis::Redis> _redis_client;
};
